package objects;

/**
 * @author JJP
 * This is the class pass around between GUI, LOGIC,BACKEN
 * It is the command after processing by FormatProccessor.
 * 
 * 
 * 
 */

import java.util.ArrayList;
import java.util.Calendar;

public class Command {
	// Command Type
	private String commandType;
    
	// task related
	private int Id;
	private Event e;
	private String detail;
	private String tag;
	private int priority;
	private Calendar startDate;
	private Calendar endDate;
	
	private String Parent;
	// keyword
	private ArrayList<String> sortKeyWords;
	private ArrayList<String> searchKeyWords;

	// others
	private String inputString;
	private String fileName;

	/**
	 * 
	 * @param objects
	 */

	
	public Command() {
		Event e=new Event();
		this.commandType =new String() ;
		this.detail = new String();
		this.tag = new String();
		this.priority=e.getPriority();
		this.startDate =e.getStartDate();
		this.endDate = e.getEndDate();
		this.sortKeyWords = new ArrayList<String>();
		this.searchKeyWords = new ArrayList<String>();
		this.inputString = new String();
		this.fileName = new String();
	}
	// =========================================

	public void setCommandType(String commandType) {
		this.commandType = commandType;
	}

	public void setDetail(String detail) {
		this.detail = detail;
	}

	public void setTag(String tag) {
		this.tag = tag;
	}

	public void setPriority(int priority) {
		this.priority = priority;
	}

	public void setStartDate(Calendar startDate) {
		this.startDate = startDate;
	}

	public void setEndDate(Calendar endDate) {
		this.endDate = endDate;
	}

	public void setSortKeyWords(ArrayList<String> sortKeyWords) {
		this.sortKeyWords = sortKeyWords;
	}

	public void setSearchKeyWords(ArrayList<String> searchKeyWords) {
		this.searchKeyWords = searchKeyWords;
	}

	public void setInputString(String inputString) {
		this.inputString = inputString;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	// =============================================
	public String getCommandType() {
		return commandType;
	}

	public String getDetail() {
		return detail;
	}

	public String getTag() {
		return tag;
	}

	public int getPriority() {
		return priority;
	}

	public Calendar getStartDate() {
		return startDate;
	}

	public Calendar getEndDate() {
		return endDate;
	}

	public ArrayList<String> getSortKeyWords() {
		return sortKeyWords;
	}

	public ArrayList<String> getSearchKeyWords() {
		return searchKeyWords;
	}

	public String getInputString() {
		return inputString;
	}

	public String getFileName() {
		return fileName;
	}

	public Event getE() {
		return e;
	}

	public void setE(Event e) {
		this.e = e;
	}

	public String getParent() {
		return Parent;
	}

	public void setParent(String parent) {
		Parent = parent;
	}

	public int getId() {
		return Id;
	}


}
